import {login, logout} from '@/api/login'
// 这里有个技巧  就是  按需引入的时候或括号先不管  先写上地址 然后 花括号就会有提示
import { setToken, getToken, removeToken } from '@/utils/auth'
const user = {
  // 定义数据
  state:{
    // 现在本地取
    token: getToken() || ''
  },
  // 修改state数据
  mutations: {
    set_Token(state, token) {
      state.token = token
    }
  },
  // 异步
  actions: {
    // 登录
    async Login(ctx, data) {
      const res = await login(data.username, data.password, data.code, data.uuid)
      // console.log(res);
      // 掉mutation  setToken 
      ctx.commit('set_Token', res.token)
      // 把toekn存到本地 这一部要在这里做  不能在上面不一样吗 万一 还有一个
      setToken(res.token)
    },
    // 退出登录
    async LogOut(ctx) {
      // 调退出登录接口
      await logout()
      // 清除token
      ctx.commit('set_Token', '')
      // 清除本地
      removeToken()
    }
  }
}
export default user